// 1455. 检查单词是否为句中其他单词的前缀
// 思路：没有后缀空格，我们先加一个空格
// 将字符串中的单词用空格就能很好分开并存入字符串数组中
// 再从字符串数组中拿到每一个单词，看要找的目标前缀是不是此单词的前缀，是就返回该单词的 index + 1 即为该位置

#include <vector>
#include <string>
using namespace std;

class Solution
{
public:
    int isPrefixOfWord(string& sentence, string& searchWord)
    {
        sentence += ' ';
        string tmp;
        vector<string> res;
        for(auto& ch : sentence)
        {
            if(ch == ' ')
            {
                // 不存在前缀空格，不用判断临时字符串为空
                res.push_back(tmp); 
                tmp.clear();
            }
            else tmp += ch;
        }
        // 以上为一个模板，对一个存在空格或者字符划分的字符串拆分单词的模板

        for(int i = 0; i < res.size(); i++)
        {
            if(res[i].find(searchWord) == 0) return i + 1;
        }
        return -1;
    }
};